// 蜂窝蜜造平台生成代码，如手工更改，请添加到 .beeignore 忽略生成

package com.fowo.api.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fowo.api.common.model.OptionItem;
import com.fowo.api.entity.AmazonSalesStatement;
import com.fowo.api.model.amazon.sales.statement.AmazonSalesStatementItemVo;
import com.fowo.api.model.amazon.sales.statement.AmazonSalesStatementSearchParamPo;
import com.fowo.api.model.amazon.sales.statement.AmazonSalesStatementVo;
import java.util.Date;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

@Mapper
public interface AmazonSalesStatementMapper
  extends BaseMapper<AmazonSalesStatement> {
  Page<AmazonSalesStatementItemVo> pageSearch(
    @Param("page") Page page,
    @Param("search") AmazonSalesStatementSearchParamPo search
  );
  List<OptionItem<AmazonSalesStatementItemVo>> searchOptions(
    @Param("search") AmazonSalesStatementSearchParamPo search
  );
  List<AmazonSalesStatementItemVo> search(
    @Param("search") AmazonSalesStatementSearchParamPo search
  );
  Date searchLastUpdateTime(
    @Param("search") AmazonSalesStatementSearchParamPo search
  );
  /**
   * 搜索满足条件的所有记录的编号列表
   * @param search 搜索参数
   * @return 编号列表
   */
  List<Long> searchIds(
    @Param("search") AmazonSalesStatementSearchParamPo search
  );
  /**
   * 搜索满足条件的记录数量
   * @param search 搜索参数
   * @return 记录数量
   */
  Long searchCount(@Param("search") AmazonSalesStatementSearchParamPo search);
  Long getIdByAmazonOrderId(@Param("amazonOrderId") String amazonOrderId);

  List<Long> getIdsByAmazonOrderId(@Param("list") List<String> list);

  String getAmazonOrderIdById(@Param("id") Long id);

  List<Map<String, Object>> getAmazonOrderIdByIds(@Param("ids") List<Long> ids);
  AmazonSalesStatementVo selectVoById(@Param("id") Long id);
  /**
   * ASIN//销量
   */
  List<AmazonSalesStatementItemVo> asinSales(
    @Param("search") AmazonSalesStatementSearchParamPo search
  );

  /**
   * 获取ASIN//销量编号列表
   */
  List<Long> asinSalesIds(
    @Param("search") AmazonSalesStatementSearchParamPo search
  );

  /**
   * 获取ASIN//销量的总数
   */
  Long asinSalesCount(
    @Param("search") AmazonSalesStatementSearchParamPo search
  );

  /**
   * ASIN//销量分页
   */
  Page<AmazonSalesStatementItemVo> asinSalesPage(
    @Param("page") Page page,
    @Param("search") AmazonSalesStatementSearchParamPo search
  );
  Date asinSalesLastUpdateTime(
    @Param("search") AmazonSalesStatementSearchParamPo search
  );
  /**
   * ASIN//订单量
   */
  List<AmazonSalesStatementItemVo> asinQuantity(
    @Param("search") AmazonSalesStatementSearchParamPo search
  );

  /**
   * 获取ASIN//订单量编号列表
   */
  List<Long> asinQuantityIds(
    @Param("search") AmazonSalesStatementSearchParamPo search
  );

  /**
   * 获取ASIN//订单量的总数
   */
  Long asinQuantityCount(
    @Param("search") AmazonSalesStatementSearchParamPo search
  );

  /**
   * ASIN//订单量分页
   */
  Page<AmazonSalesStatementItemVo> asinQuantityPage(
    @Param("page") Page page,
    @Param("search") AmazonSalesStatementSearchParamPo search
  );
  Date asinQuantityLastUpdateTime(
    @Param("search") AmazonSalesStatementSearchParamPo search
  );
  /**
   * ASIN//销售额
   */
  List<AmazonSalesStatementItemVo> asinValue(
    @Param("search") AmazonSalesStatementSearchParamPo search
  );

  /**
   * 获取ASIN//销售额编号列表
   */
  List<Long> asinValueIds(
    @Param("search") AmazonSalesStatementSearchParamPo search
  );

  /**
   * 获取ASIN//销售额的总数
   */
  Long asinValueCount(
    @Param("search") AmazonSalesStatementSearchParamPo search
  );

  /**
   * ASIN//销售额分页
   */
  Page<AmazonSalesStatementItemVo> asinValuePage(
    @Param("page") Page page,
    @Param("search") AmazonSalesStatementSearchParamPo search
  );
  Date asinValueLastUpdateTime(
    @Param("search") AmazonSalesStatementSearchParamPo search
  );
  /**
   * 父ASIN//销量
   */
  List<AmazonSalesStatementItemVo> parentAsinSales(
    @Param("search") AmazonSalesStatementSearchParamPo search
  );

  /**
   * 获取父ASIN//销量编号列表
   */
  List<Long> parentAsinSalesIds(
    @Param("search") AmazonSalesStatementSearchParamPo search
  );

  /**
   * 获取父ASIN//销量的总数
   */
  Long parentAsinSalesCount(
    @Param("search") AmazonSalesStatementSearchParamPo search
  );

  /**
   * 父ASIN//销量分页
   */
  Page<AmazonSalesStatementItemVo> parentAsinSalesPage(
    @Param("page") Page page,
    @Param("search") AmazonSalesStatementSearchParamPo search
  );
  Date parentAsinSalesLastUpdateTime(
    @Param("search") AmazonSalesStatementSearchParamPo search
  );
  /**
   * 父ASIN//订单量
   */
  List<AmazonSalesStatementItemVo> parentAsinQUantity(
    @Param("search") AmazonSalesStatementSearchParamPo search
  );

  /**
   * 获取父ASIN//订单量编号列表
   */
  List<Long> parentAsinQUantityIds(
    @Param("search") AmazonSalesStatementSearchParamPo search
  );

  /**
   * 获取父ASIN//订单量的总数
   */
  Long parentAsinQUantityCount(
    @Param("search") AmazonSalesStatementSearchParamPo search
  );

  /**
   * 父ASIN//订单量分页
   */
  Page<AmazonSalesStatementItemVo> parentAsinQUantityPage(
    @Param("page") Page page,
    @Param("search") AmazonSalesStatementSearchParamPo search
  );
  Date parentAsinQUantityLastUpdateTime(
    @Param("search") AmazonSalesStatementSearchParamPo search
  );
  /**
   * 父ASIN//销售额
   */
  List<AmazonSalesStatementItemVo> parentAsinValue(
    @Param("search") AmazonSalesStatementSearchParamPo search
  );

  /**
   * 获取父ASIN//销售额编号列表
   */
  List<Long> parentAsinValueIds(
    @Param("search") AmazonSalesStatementSearchParamPo search
  );

  /**
   * 获取父ASIN//销售额的总数
   */
  Long parentAsinValueCount(
    @Param("search") AmazonSalesStatementSearchParamPo search
  );

  /**
   * 父ASIN//销售额分页
   */
  Page<AmazonSalesStatementItemVo> parentAsinValuePage(
    @Param("page") Page page,
    @Param("search") AmazonSalesStatementSearchParamPo search
  );
  Date parentAsinValueLastUpdateTime(
    @Param("search") AmazonSalesStatementSearchParamPo search
  );
}
